跳到主要内容

454 四数相加 II

https://leetcode.cn/leetbook/read/top-interview-questions-hard/xwqm6c/

cost: 12m21s

class Solution {
public:
int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3,
vector<int>& nums4) {
unordered_map<int, int> m;
for (const auto num1 : nums1) {
for (const auto num2 : nums2) {
m[num1 + num2]++;
}
}
unordered_map<int, int> m2;
for (const auto num3 : nums3) {
for (const auto num4 : nums4) {
m2[num3 + num4]++;
}
}
int res = 0;
for (const auto [key, val] : m) {
for (const auto [key2, val2] : m2) {
if (key + key2 == 0) {
res += val * val2;
}
}
}
return res;
}
};